#!/bin/bash

#================================================================
# 功能说明: 将每月用户的订购和退订记录导入数据库的增量表
# 使用方法: 将该脚本拷贝到包含该月订购和退订日志 (*.dat) 的目录下,
#          然后使用 sh H20120827Join.sh 执行脚本, 即可.
# 注意事项: H20120827Join.sh 脚本所在的目录, 必须是要导入数据库
#          的日志文件所在的目录, 也就是说, 该目录中不能包含已经导
#          入数据库的日志, 因为该脚本无法判定是否已经导入过.
#          建议每个月建立一个文件夹, 然后使用该脚本导入数据.
# 脚本说明: (1) 脚本扫描当前目录下的所有 *.dat 文件
#          (2) 遍历第 (1) 步的结果, 生成 LOAD DATA 的 SQL 语句,
#              保存到临时文件, 供第 (3) 步使用
#          (3) 使用 source 命令, 执行 第 (2) 步生成的 SQL 语句,
#              导入数据到 chargeuserclassification.user_dat_inc
#=================================================================

rm -fr temp.sql

echo "truncate table user_dat;" >> temp.sql

datfile=`ls *.dat | cat`
for i in $datfile
do
        echo "LOAD DATA LOCAL INFILE '$i' INTO TABLE user_dat character set gbk FIELDS TERMINATED BY '|' LINES TERMINATED BY '\r\n';" >> temp.sql
done

echo "update user_dat set UnsubscribeTime=NULL where UnsubscribeTime='0000-00-00 00:00:00';" >> temp.sql
echo "insert into order_info select UserId,OrderId,OrderValid,OrderType,MediaCode,ContentName,ProductId,ProductName,Fee,SubscribeTime,UnsubscribeTime,ValideTime,ExpiredTime,UpdateTime from user_dat;" >> temp.sql

mysql -uroot -pmysql -h10.61.13.97 hynmath -e 'source temp.sql'

rm -fr temp.sql